From 7b52ff11397675595e9360280a858828e2cfa2e7 Mon Sep 17 00:00:00 2001 From: parkrrrr Date: Thu, 10 Feb 2005 23:21:34 +0000 Subject: [PATCH] Add google input type --- Makefile | 228 ++++++++++++++++++++++++------------------- README | 17 +++- google.c | 180 ++++++++++++++++++++++++++++++++++ reference/google.arc | 111 +++++++++++++++++++++ reference/google.xml | 1 + reference/googmap.sh | 5 + testo | 6 ++ vecs.c | 7 ++ 8 files changed, 451 insertions(+), 104 deletions(-) create mode 100644 google.c create mode 100644 reference/google.arc create mode 100644 reference/google.xml create mode 100644 reference/googmap.sh diff --git a/Makefile b/Makefile index 858de38bf..7dd93ec34 100644 --- a/Makefile +++ b/Makefile @@ -27,7 +27,7 @@ FMTS=magproto.o gpx.o geo.o mapsend.o mapsource.o garmin_tables.o \ gpilots.o saroute.o navicache.o psitrex.o geoniche.o delgpl.o \ ozi.o nmea.o text.o html.o palmdoc.o netstumbler.o hsa_ndv.o \ igc.o brauniger_iq.o shape.o hiketech.o glogbook.o coastexp.o \ - vcf.o overlay.o + vcf.o overlay.o google.o FILTERS=position.o duplicate.o arcdist.o polygon.o smplrout.o reverse_route.o sort.o stackfilter.o @@ -124,166 +124,188 @@ mac-release: # Machine generated from here down. -arcdist.o: arcdist.c defs.h queue.h grtcirc.h -brauniger_iq.o: brauniger_iq.c defs.h queue.h jeeps/gpsserial.h \ +arcdist.o: arcdist.c defs.h queue.h gbtypes.h grtcirc.h +brauniger_iq.o: brauniger_iq.c defs.h queue.h gbtypes.h jeeps/gpsserial.h \ jeeps/gps.h jeeps/gpsport.h jeeps/gpssend.h jeeps/gpsread.h \ jeeps/gpsutil.h jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h \ jeeps/gpsfmt.h jeeps/gpsmath.h jeeps/gpsnmea.h jeeps/gpsmem.h \ jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h jeeps/gpsnmeafmt.h \ jeeps/gpsnmeaget.h -cetus.o: cetus.c defs.h queue.h coldsync/palm.h coldsync/pdb.h -copilot.o: copilot.c defs.h queue.h coldsync/palm.h coldsync/pdb.h -csv_util.o: csv_util.c defs.h queue.h csv_util.h grtcirc.h -delgpl.o: delgpl.c defs.h queue.h -duplicate.o: duplicate.c defs.h queue.h -easygps.o: easygps.c defs.h queue.h -filter_vecs.o: filter_vecs.c defs.h queue.h -garmin.o: garmin.c defs.h queue.h jeeps/gps.h jeeps/gpsport.h \ +cetus.o: cetus.c defs.h queue.h gbtypes.h coldsync/palm.h coldsync/pdb.h +coastexp.o: coastexp.c defs.h queue.h gbtypes.h xmlgeneric.h uuid.h +copilot.o: copilot.c defs.h queue.h gbtypes.h coldsync/palm.h \ + coldsync/pdb.h +csv_util.o: csv_util.c defs.h queue.h gbtypes.h csv_util.h grtcirc.h +delgpl.o: delgpl.c defs.h queue.h gbtypes.h +duplicate.o: duplicate.c defs.h queue.h gbtypes.h +easygps.o: easygps.c defs.h queue.h gbtypes.h +filter_vecs.o: filter_vecs.c defs.h queue.h gbtypes.h +garmin.o: garmin.c defs.h queue.h gbtypes.h jeeps/gps.h jeeps/gpsport.h \ jeeps/gpsserial.h jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h \ jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h \ jeeps/gpsmath.h jeeps/gpsnmea.h jeeps/gpsmem.h jeeps/gpsrqst.h \ jeeps/gpsinput.h jeeps/gpsproj.h jeeps/gpsnmeafmt.h jeeps/gpsnmeaget.h \ garmin_tables.h garmin_tables.o: garmin_tables.c garmin_tables.h -gcdb.o: gcdb.c defs.h queue.h coldsync/palm.h coldsync/pdb.h -geo.o: geo.c defs.h queue.h -geoniche.o: geoniche.c defs.h queue.h coldsync/palm.h coldsync/pdb.h -gpilots.o: gpilots.c defs.h queue.h coldsync/palm.h coldsync/pdb.h \ - garmin_tables.h -gpspilot.o: gpspilot.c defs.h queue.h coldsync/palm.h coldsync/pdb.h -gpsutil.o: gpsutil.c defs.h queue.h magellan.h -gpx.o: gpx.c defs.h queue.h -grtcirc.o: grtcirc.c defs.h queue.h -holux.o: holux.c defs.h queue.h holux.h -hsa_ndv.o: hsa_ndv.c defs.h queue.h -html.o: html.c defs.h queue.h jeeps/gpsmath.h jeeps/gps.h jeeps/gpsport.h \ - jeeps/gpsserial.h jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h \ - jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h \ - jeeps/gpsnmea.h jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h \ - jeeps/gpsproj.h jeeps/gpsnmeafmt.h jeeps/gpsnmeaget.h -igc.o: igc.c defs.h queue.h -internal_styles.o: internal_styles.c defs.h queue.h -magnav.o: magnav.c defs.h queue.h coldsync/palm.h coldsync/pdb.h -magproto.o: magproto.c defs.h queue.h magellan.h -main.o: main.c defs.h queue.h -mapsend.o: mapsend.c defs.h queue.h mapsend.h magellan.h -mapsource.o: mapsource.c defs.h queue.h garmin_tables.h -mkshort.o: mkshort.c defs.h queue.h -navicache.o: navicache.c defs.h queue.h -coastexp.o: coastexp.c defs.h queue.h -netstumbler.o: netstumbler.c defs.h queue.h csv_util.h -nmea.o: nmea.c defs.h queue.h -ozi.o: ozi.c defs.h queue.h csv_util.h -palmdoc.o: palmdoc.c defs.h queue.h jeeps/gpsmath.h jeeps/gps.h \ +gcdb.o: gcdb.c defs.h queue.h gbtypes.h coldsync/palm.h coldsync/pdb.h +geo.o: geo.c defs.h queue.h gbtypes.h xmlgeneric.h +geoniche.o: geoniche.c defs.h queue.h gbtypes.h coldsync/palm.h \ + coldsync/pdb.h +glogbook.o: glogbook.c defs.h queue.h gbtypes.h xmlgeneric.h +google.o: google.c defs.h queue.h gbtypes.h xmlgeneric.h +gpilots.o: gpilots.c defs.h queue.h gbtypes.h coldsync/palm.h \ + coldsync/pdb.h garmin_tables.h +gpspilot.o: gpspilot.c defs.h queue.h gbtypes.h coldsync/palm.h \ + coldsync/pdb.h +gpsutil.o: gpsutil.c defs.h queue.h gbtypes.h magellan.h +gpx.o: gpx.c defs.h queue.h gbtypes.h +grtcirc.o: grtcirc.c defs.h queue.h gbtypes.h +hiketech.o: hiketech.c defs.h queue.h gbtypes.h xmlgeneric.h +holux.o: holux.c defs.h queue.h gbtypes.h holux.h +hsa_ndv.o: hsa_ndv.c defs.h queue.h gbtypes.h +html.o: html.c defs.h queue.h gbtypes.h jeeps/gpsmath.h jeeps/gps.h \ + jeeps/gpsport.h jeeps/gpsserial.h jeeps/gpssend.h jeeps/gpsread.h \ + jeeps/gpsutil.h jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h \ + jeeps/gpsfmt.h jeeps/gpsnmea.h jeeps/gpsmem.h jeeps/gpsrqst.h \ + jeeps/gpsinput.h jeeps/gpsproj.h jeeps/gpsnmeafmt.h jeeps/gpsnmeaget.h +igc.o: igc.c defs.h queue.h gbtypes.h +internal_styles.o: internal_styles.c defs.h queue.h gbtypes.h +magnav.o: magnav.c defs.h queue.h gbtypes.h coldsync/palm.h \ + coldsync/pdb.h +magproto.o: magproto.c defs.h queue.h gbtypes.h magellan.h +main.o: main.c defs.h queue.h gbtypes.h +mapsend.o: mapsend.c defs.h queue.h gbtypes.h mapsend.h magellan.h +mapsource.o: mapsource.c defs.h queue.h gbtypes.h garmin_tables.h +mkshort.o: mkshort.c defs.h queue.h gbtypes.h +navicache.o: navicache.c defs.h queue.h gbtypes.h +netstumbler.o: netstumbler.c defs.h queue.h gbtypes.h csv_util.h +nmea.o: nmea.c defs.h queue.h gbtypes.h +overlay.o: overlay.c defs.h queue.h gbtypes.h grtcirc.h +ozi.o: ozi.c defs.h queue.h gbtypes.h csv_util.h +palmdoc.o: palmdoc.c defs.h queue.h gbtypes.h jeeps/gpsmath.h jeeps/gps.h \ jeeps/gpsport.h jeeps/gpsserial.h jeeps/gpssend.h jeeps/gpsread.h \ jeeps/gpsutil.h jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h \ jeeps/gpsfmt.h jeeps/gpsnmea.h jeeps/gpsmem.h jeeps/gpsrqst.h \ jeeps/gpsinput.h jeeps/gpsproj.h jeeps/gpsnmeafmt.h jeeps/gpsnmeaget.h \ coldsync/palm.h coldsync/pdb.h -pcx.o: pcx.c defs.h queue.h garmin_tables.h -polygon.o: polygon.c defs.h queue.h -position.o: position.c defs.h queue.h grtcirc.h -psitrex.o: psitrex.c defs.h queue.h garmin_tables.h -psp.o: psp.c defs.h queue.h +pcx.o: pcx.c defs.h queue.h gbtypes.h garmin_tables.h +polygon.o: polygon.c defs.h queue.h gbtypes.h +position.o: position.c defs.h queue.h gbtypes.h grtcirc.h +psitrex.o: psitrex.c defs.h queue.h gbtypes.h garmin_tables.h +psp.o: psp.c defs.h queue.h gbtypes.h queue.o: queue.c queue.h -quovadis.o: quovadis.c quovadis.h defs.h queue.h coldsync/palm.h \ - coldsync/pdb.h -reverse_route.o: reverse_route.c defs.h queue.h -route.o: route.c defs.h queue.h -saroute.o: saroute.c defs.h queue.h -shape.o: shape.c defs.h queue.h shapelib/shapefil.h -smplrout.o: smplrout.c defs.h queue.h grtcirc.h -sort.o: sort.c defs.h queue.h -stackfilter.o: stackfilter.c defs.h queue.h -text.o: text.c defs.h queue.h jeeps/gpsmath.h jeeps/gps.h jeeps/gpsport.h \ - jeeps/gpsserial.h jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h \ - jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h \ - jeeps/gpsnmea.h jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h \ - jeeps/gpsproj.h jeeps/gpsnmeafmt.h jeeps/gpsnmeaget.h -tiger.o: tiger.c defs.h queue.h csv_util.h -tmpro.o: tmpro.c defs.h queue.h csv_util.h -tpg.o: tpg.c defs.h queue.h jeeps/gpsmath.h jeeps/gps.h jeeps/gpsport.h \ - jeeps/gpsserial.h jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h \ - jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h \ - jeeps/gpsnmea.h jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h \ - jeeps/gpsproj.h jeeps/gpsnmeafmt.h jeeps/gpsnmeaget.h -util.o: util.c defs.h queue.h +quovadis.o: quovadis.c quovadis.h defs.h queue.h gbtypes.h \ + coldsync/palm.h coldsync/pdb.h +reverse_route.o: reverse_route.c defs.h queue.h gbtypes.h +route.o: route.c defs.h queue.h gbtypes.h +saroute.o: saroute.c defs.h queue.h gbtypes.h +shape.o: shape.c defs.h queue.h gbtypes.h shapelib/shapefil.h +smplrout.o: smplrout.c defs.h queue.h gbtypes.h grtcirc.h +sort.o: sort.c defs.h queue.h gbtypes.h +stackfilter.o: stackfilter.c defs.h queue.h gbtypes.h +text.o: text.c defs.h queue.h gbtypes.h jeeps/gpsmath.h jeeps/gps.h \ + jeeps/gpsport.h jeeps/gpsserial.h jeeps/gpssend.h jeeps/gpsread.h \ + jeeps/gpsutil.h jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h \ + jeeps/gpsfmt.h jeeps/gpsnmea.h jeeps/gpsmem.h jeeps/gpsrqst.h \ + jeeps/gpsinput.h jeeps/gpsproj.h jeeps/gpsnmeafmt.h jeeps/gpsnmeaget.h +tiger.o: tiger.c defs.h queue.h gbtypes.h csv_util.h +tmpro.o: tmpro.c defs.h queue.h gbtypes.h csv_util.h +tpg.o: tpg.c defs.h queue.h gbtypes.h jeeps/gpsmath.h jeeps/gps.h \ + jeeps/gpsport.h jeeps/gpsserial.h jeeps/gpssend.h jeeps/gpsread.h \ + jeeps/gpsutil.h jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h \ + jeeps/gpsfmt.h jeeps/gpsnmea.h jeeps/gpsmem.h jeeps/gpsrqst.h \ + jeeps/gpsinput.h jeeps/gpsproj.h jeeps/gpsnmeafmt.h jeeps/gpsnmeaget.h +util.o: util.c defs.h queue.h gbtypes.h util_crc.o: util_crc.c -vecs.o: vecs.c defs.h queue.h csv_util.h -vmem.o: vmem.c defs.h queue.h -waypt.o: waypt.c defs.h queue.h -xcsv.o: xcsv.c defs.h queue.h csv_util.h +uuid.o: uuid.c uuid.h +vcf.o: vcf.c defs.h queue.h gbtypes.h jeeps/gpsmath.h jeeps/gps.h \ + jeeps/gpsport.h jeeps/gpsserial.h jeeps/gpssend.h jeeps/gpsread.h \ + jeeps/gpsutil.h jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h \ + jeeps/gpsfmt.h jeeps/gpsnmea.h jeeps/gpsmem.h jeeps/gpsrqst.h \ + jeeps/gpsinput.h jeeps/gpsproj.h jeeps/gpsnmeafmt.h jeeps/gpsnmeaget.h +vecs.o: vecs.c defs.h queue.h gbtypes.h csv_util.h +vmem.o: vmem.c defs.h queue.h gbtypes.h +waypt.o: waypt.c defs.h queue.h gbtypes.h +xcsv.o: xcsv.c defs.h queue.h gbtypes.h csv_util.h +xmlgeneric.o: xmlgeneric.c defs.h queue.h gbtypes.h xmlgeneric.h coldsync/pdb.o: coldsync/pdb.c coldsync/config.h coldsync/palm.h \ coldsync/pdb.h coldsync/util.o: coldsync/util.c coldsync/config.h coldsync/pconn/util.h \ coldsync/palm.h -jeeps/gpsapp.o: jeeps/gpsapp.c jeeps/gps.h defs.h queue.h jeeps/gpsport.h \ - jeeps/gpsserial.h jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h \ - jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h \ - jeeps/gpsmath.h jeeps/gpsnmea.h jeeps/gpsmem.h jeeps/gpsrqst.h \ - jeeps/gpsinput.h jeeps/gpsproj.h jeeps/gpsnmeafmt.h jeeps/gpsnmeaget.h -jeeps/gpscom.o: jeeps/gpscom.c jeeps/gps.h defs.h queue.h jeeps/gpsport.h \ - jeeps/gpsserial.h jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h \ - jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h \ - jeeps/gpsmath.h jeeps/gpsnmea.h jeeps/gpsmem.h jeeps/gpsrqst.h \ - jeeps/gpsinput.h jeeps/gpsproj.h jeeps/gpsnmeafmt.h jeeps/gpsnmeaget.h -jeeps/gpslibusb.o: jeeps/gpslibusb.c -jeeps/gpsmath.o: jeeps/gpsmath.c jeeps/gps.h defs.h queue.h \ +jeeps/gpsapp.o: jeeps/gpsapp.c jeeps/gps.h defs.h queue.h gbtypes.h \ jeeps/gpsport.h jeeps/gpsserial.h jeeps/gpssend.h jeeps/gpsread.h \ jeeps/gpsutil.h jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h \ jeeps/gpsfmt.h jeeps/gpsmath.h jeeps/gpsnmea.h jeeps/gpsmem.h \ jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h jeeps/gpsnmeafmt.h \ - jeeps/gpsnmeaget.h jeeps/gpsdatum.h -jeeps/gpsmem.o: jeeps/gpsmem.c jeeps/gps.h defs.h queue.h jeeps/gpsport.h \ - jeeps/gpsserial.h jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h \ - jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h \ - jeeps/gpsmath.h jeeps/gpsnmea.h jeeps/gpsmem.h jeeps/gpsrqst.h \ - jeeps/gpsinput.h jeeps/gpsproj.h jeeps/gpsnmeafmt.h jeeps/gpsnmeaget.h \ - jeeps/garminusb.h -jeeps/gpsprot.o: jeeps/gpsprot.c jeeps/gps.h defs.h queue.h \ + jeeps/gpsnmeaget.h +jeeps/gpscom.o: jeeps/gpscom.c jeeps/gps.h defs.h queue.h gbtypes.h \ jeeps/gpsport.h jeeps/gpsserial.h jeeps/gpssend.h jeeps/gpsread.h \ jeeps/gpsutil.h jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h \ jeeps/gpsfmt.h jeeps/gpsmath.h jeeps/gpsnmea.h jeeps/gpsmem.h \ jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h jeeps/gpsnmeafmt.h \ jeeps/gpsnmeaget.h -jeeps/gpsread.o: jeeps/gpsread.c jeeps/gps.h defs.h queue.h \ +jeeps/gpslibusb.o: jeeps/gpslibusb.c jeeps/gps.h defs.h queue.h gbtypes.h \ jeeps/gpsport.h jeeps/gpsserial.h jeeps/gpssend.h jeeps/gpsread.h \ jeeps/gpsutil.h jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h \ jeeps/gpsfmt.h jeeps/gpsmath.h jeeps/gpsnmea.h jeeps/gpsmem.h \ jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h jeeps/gpsnmeafmt.h \ - jeeps/gpsnmeaget.h -jeeps/gpsrqst.o: jeeps/gpsrqst.c jeeps/gps.h defs.h queue.h \ + jeeps/gpsnmeaget.h jeeps/garminusb.h +jeeps/gpsmath.o: jeeps/gpsmath.c jeeps/gps.h defs.h queue.h gbtypes.h \ + jeeps/gpsport.h jeeps/gpsserial.h jeeps/gpssend.h jeeps/gpsread.h \ + jeeps/gpsutil.h jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h \ + jeeps/gpsfmt.h jeeps/gpsmath.h jeeps/gpsnmea.h jeeps/gpsmem.h \ + jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h jeeps/gpsnmeafmt.h \ + jeeps/gpsnmeaget.h jeeps/gpsdatum.h +jeeps/gpsmem.o: jeeps/gpsmem.c jeeps/gps.h defs.h queue.h gbtypes.h \ + jeeps/gpsport.h jeeps/gpsserial.h jeeps/gpssend.h jeeps/gpsread.h \ + jeeps/gpsutil.h jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h \ + jeeps/gpsfmt.h jeeps/gpsmath.h jeeps/gpsnmea.h jeeps/gpsmem.h \ + jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h jeeps/gpsnmeafmt.h \ + jeeps/gpsnmeaget.h jeeps/garminusb.h +jeeps/gpsprot.o: jeeps/gpsprot.c jeeps/gps.h defs.h queue.h gbtypes.h \ jeeps/gpsport.h jeeps/gpsserial.h jeeps/gpssend.h jeeps/gpsread.h \ jeeps/gpsutil.h jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h \ jeeps/gpsfmt.h jeeps/gpsmath.h jeeps/gpsnmea.h jeeps/gpsmem.h \ jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h jeeps/gpsnmeafmt.h \ jeeps/gpsnmeaget.h -jeeps/gpssend.o: jeeps/gpssend.c jeeps/gps.h defs.h queue.h \ +jeeps/gpsread.o: jeeps/gpsread.c jeeps/gps.h defs.h queue.h gbtypes.h \ jeeps/gpsport.h jeeps/gpsserial.h jeeps/gpssend.h jeeps/gpsread.h \ jeeps/gpsutil.h jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h \ jeeps/gpsfmt.h jeeps/gpsmath.h jeeps/gpsnmea.h jeeps/gpsmem.h \ jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h jeeps/gpsnmeafmt.h \ jeeps/gpsnmeaget.h -jeeps/gpsserial.o: jeeps/gpsserial.c jeeps/gps.h defs.h queue.h \ +jeeps/gpsrqst.o: jeeps/gpsrqst.c jeeps/gps.h defs.h queue.h gbtypes.h \ jeeps/gpsport.h jeeps/gpsserial.h jeeps/gpssend.h jeeps/gpsread.h \ jeeps/gpsutil.h jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h \ jeeps/gpsfmt.h jeeps/gpsmath.h jeeps/gpsnmea.h jeeps/gpsmem.h \ jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h jeeps/gpsnmeafmt.h \ jeeps/gpsnmeaget.h -jeeps/gpsusbread.o: jeeps/gpsusbread.c jeeps/gps.h defs.h queue.h \ +jeeps/gpssend.o: jeeps/gpssend.c jeeps/gps.h defs.h queue.h gbtypes.h \ jeeps/gpsport.h jeeps/gpsserial.h jeeps/gpssend.h jeeps/gpsread.h \ jeeps/gpsutil.h jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h \ jeeps/gpsfmt.h jeeps/gpsmath.h jeeps/gpsnmea.h jeeps/gpsmem.h \ jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h jeeps/gpsnmeafmt.h \ - jeeps/gpsnmeaget.h jeeps/garminusb.h -jeeps/gpsusbsend.o: jeeps/gpsusbsend.c jeeps/gps.h defs.h queue.h \ + jeeps/gpsnmeaget.h +jeeps/gpsserial.o: jeeps/gpsserial.c jeeps/gps.h defs.h queue.h gbtypes.h \ jeeps/gpsport.h jeeps/gpsserial.h jeeps/gpssend.h jeeps/gpsread.h \ jeeps/gpsutil.h jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h \ jeeps/gpsfmt.h jeeps/gpsmath.h jeeps/gpsnmea.h jeeps/gpsmem.h \ jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h jeeps/gpsnmeafmt.h \ - jeeps/gpsnmeaget.h jeeps/garminusb.h -jeeps/gpsusbstub.o: jeeps/gpsusbstub.c jeeps/garminusb.h -jeeps/gpsutil.o: jeeps/gpsutil.c jeeps/gps.h defs.h queue.h \ + jeeps/gpsnmeaget.h +jeeps/gpsusbread.o: jeeps/gpsusbread.c jeeps/gps.h defs.h queue.h \ + gbtypes.h jeeps/gpsport.h jeeps/gpsserial.h jeeps/gpssend.h \ + jeeps/gpsread.h jeeps/gpsutil.h jeeps/gpsapp.h jeeps/gpsprot.h \ + jeeps/gpscom.h jeeps/gpsfmt.h jeeps/gpsmath.h jeeps/gpsnmea.h \ + jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h \ + jeeps/gpsnmeafmt.h jeeps/gpsnmeaget.h jeeps/garminusb.h +jeeps/gpsusbsend.o: jeeps/gpsusbsend.c jeeps/gps.h defs.h queue.h \ + gbtypes.h jeeps/gpsport.h jeeps/gpsserial.h jeeps/gpssend.h \ + jeeps/gpsread.h jeeps/gpsutil.h jeeps/gpsapp.h jeeps/gpsprot.h \ + jeeps/gpscom.h jeeps/gpsfmt.h jeeps/gpsmath.h jeeps/gpsnmea.h \ + jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h \ + jeeps/gpsnmeafmt.h jeeps/gpsnmeaget.h jeeps/garminusb.h +jeeps/gpsusbstub.o: jeeps/gpsusbstub.c +jeeps/gpsutil.o: jeeps/gpsutil.c jeeps/gps.h defs.h queue.h gbtypes.h \ jeeps/gpsport.h jeeps/gpsserial.h jeeps/gpssend.h jeeps/gpsread.h \ jeeps/gpsutil.h jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h \ jeeps/gpsfmt.h jeeps/gpsmath.h jeeps/gpsnmea.h jeeps/gpsmem.h \ diff --git a/README b/README index 18911bd3c..887fbfb1e 100644 --- a/README +++ b/README @@ -102,8 +102,23 @@ THE FORMATS dumps by adding "-D9" to the command line, like: gpsbabel -D9 -i garmin -f usb: -o gpx -F blah.gpx - + GOOGLE + + This format is designed to read the XML emitted when you tack + "&output=xml" onto the end of a Google Maps URL (use the "link + to this page" option to get a usable URL.) This allows you to + plan a route using Google Maps, then download it and use it in + your own mapping program or GPS receiver. If you use a Unix- + compatible operating system, this shell script might be useful: + + #!/bin/sh + FROM="233 S. Wacker, Chicago, IL" + TO="1060 W. Addison, Chicago, IL" + wget -O - "http://maps.google.com/maps?q=$FROM to $TO&output=xml" \ + 2>/dev/null >google_map.xml + + gpsbabel -i google -f google_map.xml -o gpx -F google_map.gpx GPSMAN diff --git a/google.c b/google.c new file mode 100644 index 000000000..22e17478c --- /dev/null +++ b/google.c @@ -0,0 +1,180 @@ +/* + Copyright (C) 2002 Robert Lipe, robertlipe@usa.net + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + + */ +#include "defs.h" +#include "xmlgeneric.h" + +static char *encoded_points = NULL; +static char *encoded_levels = NULL; + +FILE *fd; + +static long serial = 0; + +#define MYNAME "google" +#define MY_CBUF 4096 + +#if NO_EXPAT +void +google_rd_init(const char *fname) +{ + fatal(MYNAME ": This build excluded Google Maps support because expat was not installed.\n"); +} + +void +google_read(void) +{ +} +#else + +static xg_callback goog_points, goog_levels, goog_poly_e; + +static +xg_tag_mapping google_map[] = { + { goog_points, cb_cdata, "/page/directions/polyline/points" }, + { goog_levels, cb_cdata, "/page/directions/polyline/levels" }, + { goog_poly_e, cb_end, "/page/directions/polyline" }, + { NULL, 0, NULL } +}; + +void goog_points( const char *args, const char **unused ) +{ + if (args) + { + if ( encoded_points ) + { + encoded_points = xstrappend( encoded_points, args ); + } + else + { + encoded_points = xstrdup(args); + } + } +} + +void goog_levels( const char *args, const char **unused ) +{ + if (args) + { + if ( encoded_levels ) + { + encoded_levels = xstrappend( encoded_levels, args ); + } + else + { + encoded_levels = xstrdup(args); + } + } +} + +static long decode_goog64( char **str ) +{ + long result = 0; + unsigned char c = 0; + unsigned char shift = 0; + + do + { + c = (unsigned char)(*(*str)++)-'?'; + result |= (c & 31)<latitude = lat / 100000.0; + wpt_tmp->longitude = lon / 100000.0; + wpt_tmp->route_priority=level; + wpt_tmp->shortname = (char *) xmalloc(7); + sprintf( wpt_tmp->shortname, "\\%5.5x", serial++ ); + route_add_wpt(track_head, wpt_tmp); + } + } + + if ( encoded_points ) + { + xfree( encoded_points ); + encoded_points = NULL; + } + if ( encoded_levels ) + { + xfree( encoded_levels ); + encoded_levels = NULL; + } +} + +void +google_rd_init(const char *fname) +{ + xml_init(fname, google_map); +} + +void +google_read(void) +{ + xml_read(); +} +#endif + +void +google_rd_deinit(void) +{ + xml_deinit(); +} + +ff_vecs_t google_vecs = { + ff_type_file, + { ff_cap_none, ff_cap_read, ff_cap_none}, + google_rd_init, + NULL, + google_rd_deinit, + NULL, + google_read, + NULL, + NULL, + NULL +}; diff --git a/reference/google.arc b/reference/google.arc new file mode 100644 index 000000000..c216f18c3 --- /dev/null +++ b/reference/google.arc @@ -0,0 +1,111 @@ +41.87895 -87.63665 +41.87924 -87.63666 +41.87937 -87.63666 +41.87952 -87.63667 +41.88063 -87.63672 +41.88126 -87.63673 +41.88194 -87.63676 +41.88194 -87.63676 +41.88206 -87.63676 +41.88257 -87.63678 +41.88301 -87.63679 +41.88318 -87.63678 +41.88380 -87.63681 +41.88447 -87.63683 +41.88506 -87.63686 +41.88519 -87.63686 +41.88542 -87.63686 +41.88574 -87.63682 +41.88574 -87.63682 +41.88583 -87.63678 +41.88595 -87.63666 +41.88677 -87.63538 +41.88677 -87.63528 +41.88677 -87.63477 +41.88677 -87.63394 +41.88677 -87.63249 +41.88677 -87.63249 +41.88696 -87.63248 +41.88710 -87.63248 +41.88780 -87.63248 +41.88780 -87.63248 +41.88919 -87.63254 +41.89000 -87.63254 +41.89078 -87.63257 +41.89160 -87.63260 +41.89198 -87.63261 +41.89240 -87.63263 +41.89322 -87.63264 +41.89401 -87.63266 +41.89482 -87.63267 +41.89562 -87.63269 +41.89664 -87.63271 +41.89796 -87.63273 +41.89926 -87.63278 +41.90053 -87.63283 +41.90183 -87.63288 +41.90312 -87.63290 +41.90388 -87.63292 +41.90576 -87.63300 +41.90772 -87.63305 +41.90917 -87.63309 +41.91117 -87.63313 +41.91117 -87.63313 +41.91265 -87.63317 +41.91289 -87.63316 +41.91289 -87.63316 +41.91299 -87.63310 +41.91307 -87.63301 +41.91314 -87.63284 +41.91314 -87.63284 +41.91380 -87.63324 +41.91485 -87.63388 +41.91560 -87.63433 +41.91658 -87.63494 +41.91842 -87.63603 +41.91842 -87.63603 +41.91889 -87.63636 +41.92015 -87.63718 +41.92195 -87.63822 +41.92374 -87.63928 +41.92497 -87.64005 +41.92556 -87.64040 +41.92678 -87.64115 +41.92697 -87.64127 +41.92730 -87.64147 +41.92778 -87.64172 +41.92852 -87.64217 +41.92865 -87.64224 +41.92951 -87.64276 +41.92963 -87.64288 +41.92982 -87.64311 +41.92995 -87.64335 +41.93067 -87.64382 +41.93131 -87.64418 +41.93180 -87.64449 +41.93208 -87.64466 +41.93242 -87.64479 +41.93277 -87.64483 +41.93277 -87.64483 +41.93368 -87.64551 +41.93452 -87.64622 +41.93478 -87.64645 +41.93549 -87.64700 +41.93558 -87.64707 +41.93639 -87.64774 +41.93780 -87.64888 +41.93811 -87.64913 +41.93811 -87.64913 +41.93903 -87.64986 +41.93992 -87.65062 +41.94175 -87.65203 +41.94241 -87.65255 +41.94352 -87.65349 +41.94429 -87.65410 +41.94429 -87.65410 +41.94443 -87.65420 +41.94558 -87.65510 +41.94654 -87.65592 +41.94718 -87.65639 +41.94718 -87.65639 +41.94719 -87.65553 diff --git a/reference/google.xml b/reference/google.xml new file mode 100644 index 000000000..33ff7f308 --- /dev/null +++ b/reference/google.xml @@ -0,0 +1 @@ +233 S. Wacker, Chicago, IL to 1060 W. Addison, Chicago, IL233 S. Wacker, Chicago, IL to 1060 W. Addison, Chicago, IL
233 S Upper Wacker DrChicago, IL 60606
1060 W Addison StChicago, IL 60613
mnr~F`p{uOy@@Y?]@}EH}B@gCD??W?eBBwA@a@A{BDeCBuBDY?m@?_AG??QGWWcD_G?S?eB?eD?aH??e@A[?kC???uGJaD?{CDcDDkA@sABcD@}CBaD@_DBkEBgGBcGH}FHcGHaGBwCBwJNgKHaHFoKF??gHFo@A??SKOQMa@??cCnAqE~BuCxAcExBoJxE??}A`A{FbDgJnEeJrEuFxCuBdAsFtCe@VaAf@_Bp@sCxAYLkDfBWVe@l@Yn@oC|A_CfAaB|@w@`@cAXeAF??uDfCgDlCs@l@mClBQLaDdCyGbF}@p@??wDpCqDvCmJxGcCfB}EzDyCxB??[ReFrD_EbD_C|A??AkDB?????BB??????@??BB?@@???BB??BB?????@?????@?????@??BB?BB?@BB????@??@?@????@???@?@@@??@@A?@?????????@?@@?????BBBHead north from S Upper Wacker DrContinue on N Upper Wacker DrBear right at W Upper Wacker DrTurn left at N La Salle StContinue on N La Salle BlvdContinue on N La Salle DrBear right at W Eugenie StTurn left at N Clark StTurn right at W Addison St
\ No newline at end of file diff --git a/reference/googmap.sh b/reference/googmap.sh new file mode 100644 index 000000000..83a73d32c --- /dev/null +++ b/reference/googmap.sh @@ -0,0 +1,5 @@ + +FROM="233 S. Wacker, Chicago, IL" +TO="1060 W. Addison, Chicago, IL" +wget -O - "http://maps.google.com/maps?q=$FROM to $TO&output=xml" 2>/dev/null + diff --git a/testo b/testo index 259f4d3e8..c1c154d9a 100755 --- a/testo +++ b/testo @@ -568,6 +568,12 @@ compare ${TMPDIR}/igc_sed.out reference/igc2_igc.out ${PNAME} -i igc -f ${TMPDIR}/igc.out -o gpx -F ${TMPDIR}/igc.gpx compare ${TMPDIR}/igc.gpx reference/igc2_gpx.out +# +# Google Maps XML test +# +rm -f ${TMPDIR}/google.out +${PNAME} -i google -f reference/google.xml -o arc -F ${TMPDIR}/google.out +compare ${TMPDIR}/google.out reference/google.arc # # XCSV "human readable" tests diff --git a/vecs.c b/vecs.c index 718b760eb..662cbba01 100644 --- a/vecs.c +++ b/vecs.c @@ -73,6 +73,7 @@ extern ff_vecs_t hiketech_vecs; extern ff_vecs_t glogbook_vecs; extern ff_vecs_t vcf_vecs; extern ff_vecs_t overlay_vecs; +extern ff_vecs_t google_vecs; static vecs_t vec_list[] = { @@ -335,6 +336,12 @@ vecs_t vec_list[] = { "GeoGrid-Viewer", "ovl" }, + { + &google_vecs, + "google", + "Google Maps XML", + "xml" + }, { NULL, NULL, -- 2.30.2